1. Field of the Invention
The present invention relates generally to optimizing computer performance.
2. Background
Modern computers are build based on an architecture with one or more execution units and multiple peripheral devices. One important peripheral device is the storage such as the hard drive.
Companies develop system programs called Operating System (OS), which are designed to run on the storage device. The operating system forms an environment for other companies or individuals to develop software applications.
Developers of software applications around the world target in their development to run on specific operating systems. Both the Operating System and the applications are designed to run out of the disk. In that regard the modern computer is “disk concentric”.
The operating system gives to the developers a standardized environment with access to large hardware and software resources. Multiple Operating Systems exist. Example the series of operating systems MICROSOFT WINDOWS, APPLE MAC OS, LINUX, GOOGLE ANDROID. Thus application developers distribute several variations of their products to address the largest number of clients. For example: the MOZILLA foundation distributes an edition of their popular FIREFOX internet browser to target the operating system MICROSOFT WINDOWS as well as an edition for the operating system LINUX and another editions for the operating system GOOGLE ANDROID.
The developers around the world don't have the possibility to develop applications that run directly on a target architecture without Operating System. Thus the operating system and the storage device are sufficient necessities.
Software computer code are classified into several types. Depending on the purpose of the code and where the code is physically located. Micro-code is a collection of programs that operate hardware components. Example: Execution units like processors are built with logic gates and micro-code. Firmware is low level software program that operate platforms rather than components. A platform is a functional complete computer system based on several components. On the Personal Computer an important firmware is the BIOS (Basic Input Output System). The BIOS is a collection of programs that configures the hardware and interfaces with the operating system through standardized routines. While micro-code is located in the component, the firmware BIOS is located on the platform for example into a non-volatile memory assembled on the computer printed circuit. They are both designated as embedded software.
When the computer is switch on, it starts executing the BIOS computer code from the non-volatile memory. The BIOS controls and configures the system. When the configuration is completed, the BIOS gives control to the operating system by jumping to a program on the boot sector of the boot storage device. From that point, the BIOS is no longer in control. Rather the Operating System takes control of the program execution. This transition point between BIOS and Operating system corresponds generally to the transition from the on-board non-volatile memory to the storage device such the disk. This transition point corresponds equally to the transition from the embedded code to the normal code.
The present invention leads to a novel computer architecture in which there is no transition between the BIOS and the Operating System. Rather, the firmware keeps control of the execution indefinitely. Similarly there is no necessity of having an operating system neither a storage device that host the operating system and the applications.
The present invention addresses more specifically the way the data flow in the computer. It proposes a novel data flowing path which presents various advantages. This invention modifies the architectural foundation of the modern computer. Future computers that implement this invention are memory concentric rather than disk concentric.
With the present invention, developers around the world have the opportunity to develop applications for a target computer architecture rather than for target operating systems. The platform and the embedded firmware become the sufficient necessity for the developers because they provide the necessary hardware and software resources in particular the storage and the communication.